home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
texte
/
jane152
/
news.doc
< prev
next >
Wrap
Text File
|
1998-10-29
|
67KB
|
1,546 lines
Achtung: Auf vielfachen Wunsch eines einzelnen Herrn habe ich die
Sortierfolge umgedreht, d. h. die neuesten Changes stehen jetzt
unten.
*** Änderungen vom 29.12.94:
1 Der Redrawbug beim schnellen Aufziehen von Blöcken mit
der Maus dürfte erledigt sein.
2 Beim automatischen Einrücken sollten jetzt keine 'Treppeneffekte'
mehr entstehen.
3 Fehler beim Sichern der Makrotasten in die INF beseitigt, der
u. a. dazu führte, daß die Belegung von F1 'vergessen' wurde.
4 Die Aufrufe 'setfkey' und 'killfkey' haben eine neue Syntax:
Der erste Parameter ist eine Zeichenkette, die den Namen der
Taste enthält. Die Syntax dieser Zeichenkette ist an 'ckey' angelehnt.
Zulässig sind:
- '!#x', wobei x für einen Buchstaben oder eine Ziffer steht.
- 'sFnn', wobei s für einen Shift-Indikator analog zu 'ckey' steh
('!' = Shift, '^' = Control, '#' = Alternate) und nn die Nummer der
Funktionstaste (1 <= nn <= 10) ist.
5 Ebenfalls neu in SCEleton ist der Aufruf 'cnumber'. Der einzige
Parameter ist eine interne Funktionsnummer. Diese Funktionsnummern
entsprechen genau den Funktionen, die über die Tastatur und/oder die
Menüleiste aufgerufen werden können. Dieser Aufruf soll im wesentlichen
dazu dienen, über den Makrorecorder ("Aufzeichnen von Funktionsnummern")
Makros zu erzeigen, die von der gerade geladenen Tastenbelegung
unabhängig sind. (Andreas: Sollte man sämtliche Nummern dokumentieren?)
6 In der Help-Anzeige sind die Kürzel für "Klammern selektieren"
und "Wort selektieren" nicht mehr vertauscht.
7 Beim Löschen bzw. Ausschneiden der letzten Zeile wird die die Zeile
nicht entfernt, sondern nur geleert, so daß der Cursor nicht nach
oben wandert.
8 Beim Schließen einer Makrodatei erfolgt jetzt eine Extrawarnung,
falls die Datei Tasten belegt hat.
9 Beim Lesefehlern während des Ladens einer Arbeitsumgebeung sollte
es jetzt nicht mehr bei jeder einzelnen F-Taste eine neue
Fehlermeldung geben.
10 Wird ein bereits geladenes Makropaket neu erzeugt, so wird ein
evtl. zugehöriges Fenster geschlossen und neu geöffnet.
*** Änderungen vom 31.12.94 (die Sektkorken-Beta):
11 In zweizeiligen Hexadezimaleditfeldern in Dialogen (Hexeditor) läßt
sich der Cursor jetzt in die zweite Zeile stellen. Dort können Zeichen
direkt eingegeben werden. Darüber erscheint dann sofort der
entsprechende ASCII-Code.
12 Der Fontselector läßt jetzt Fonts bis 40 Punkt zu. Außerdem ist die
freie Größenwahl bei Speedo-Fonts wieder möglich (war das peinlich...).
13 Es gibt neue Shortcuts:
Control-Shift-U = In Großschrift.
Control-Shift-L = In Kleinschrift.
Control-Shift-K = In Kapitälchen.
Control-Shift-X = Alle Fenster schließen.
14 Es gibt eine neue Tastenfunktion: Shift-Backspace löscht rückwärts
vom Cursor bis zum Zeilenanfang.
15 Der Dialog 'Zeile anspringen' läßt nun auch relative Sprünge zu. Dazu wird eine Zahl mit Vorzeichen, also etwa '+10' oder '-20' ein-
getragen. Dieser Wert wird dann zur aktuellen Zeilenummer addiert,
so daß ein Vorwärts- oder Rückwärtssprung entsteht. Zahlen ohne
Vorzeichen werden wie gehabt als absolute Zeilennummern aufgefaßt.
16 Beim Scrollen mit Tasten wird nun die Zeilennummer in er Infozeile immer upgedated.
*** Änderungen vom 1.1.95 (die Katzenjammer-Beta?):
17 Der Shortcut Control-'>' für 'Rechts Einrücken' funktioniert wieder.
(Da war genau ein Bit falsch)
18 Der Bildschirm-Update bei 'Return' und 'Backspace' über
Zeilengrenzen hinweg ist jetzt schneller, so daß keine Tastendrücke
mehr verloren gehen sollten.
19 'Delete' blockiert jetzt auf dem Ende der letzten Zeile eines Textes.
*** Änderungen vom 2.1.95 (die letzte Beta vor der 1.1?):
20 TEE läßt jetzt auch die Eingabe von ESC und Shift-ESC für
Shortcuts zu.
21 Wenn bei 'Zeile anspringen' die Eingabe leer bleibt, bleibt der
Cursor jetzt auch in der aktuellen Zeile.
22 JAnE merkt sich jetzt, ob der letzte Block wort- oder zeilenweise
aufgezogen wurde und verhält sich bei einem Shift-Klick entsprechend,
bei einem Control-Klick dagegen nicht.
23 Ein Bug repariert, der dazu führte, daß eine aus JAnE gespeicherte
JANE.INF nicht mehr alle Shortcuts enthielt.
*** Änderungen vom 3.1.95:
24 Das Feature aus 22 war noch nicht so perfekt; jetzt sollte es gehen.
25 Im Hexeditor (und entsprechend in Hexfeldern in TEE) läßt sich der Cursorjetzt auch mit der Maus auf die ASCII-Zeile stellen.
26 Der Cursor in Textfenstern sollte nicht mehr über den Scrollbalken
gezeichnet werden.
27 Es sollte jetzt nicht mehr passieren, daß deim schnellen Aufzeihen eines
Blockes Zeilen aus der Bildschirmdarstellung verschwinden.
28 Die Einstellungen des Druckerdialoges sollten nun korrekt in der INF
gesichert werden.
*** Änderungen vom 4.1.95:
29 Bei Shift- (bzw. Control-) Klick wird nun geprüft, ob der Klick vor
oder hinter der Mitte eines evtl. bereits selektierten Blockes erfolgte
und demgemäß der Blockanfang oder das Blockende bewegt.
*** Änderungen vom 5.1.95:
30 Der SCEleton-Compiler konnte bei einem Syntaxfehler abstürzen, wenn
noch offene 'forward'-Deklaratinen vorlagen.
31 Der SCEleton-Aufruf 'getoption' stellte nicht vernünftig fest,
ob der Cursor auf 'blinkend' stand.
32 Das SCEleton-System hat bei Textausgaben über 'dump' bzw. 'print'
Mauszeigersalat produziert.
*** Änderungen vom 6.1.95
33 Steuerung des Mauszeigers beim Starten von Makros aus dem Paketfenster
korrigiert.
34 Tom's tolles IMG in die Infobox eingebaut.
*** Änderungen vom 7.1.95
35 Wortweises Selektieren klappt jetzt auch bei einem Drag nach einem
Shift-Klick in einen wortweise aufgezogenen Block.
36 Vor dem 'shel_write' bei Programmende wird jetzt getestet, ob die
GEM-Version >= 1.04 ist. Sicher ist sicher.
*** Änderungen vom 19.1.95
38 Unterstützunmg der XACC-Grundmessages und der Gruppe 1 eingebaut.
39 Der Fehler in der Bestimmung der Größe des Systemfonts sollte jetzt
behoben sein.
40 Ein Textlineal in der Infozeile wird jetzt upgedated, wenn in der
Textprofilbox eine neue Umbruchspalte eingestellt wird.
41 Anbindung an das VA/AV-Protokoll von Gemini:
- JAnE meldet alle Text- und Makropaketfenster bei Gemini an.
- Drag & Drop von Gemini aus läuft über das VA-Protokoll
und sollte demnach auch unter Maggi gehen.
- Darüberhinaus versteht JAnE auch AV_SENDKEY, (was ja fast mit
ACC_KEY identisch ist).
42 JANE.INF wird zuerst in dem Verzeichnis gesucht, das durch die
Environmentvariable HOME spezifiziert ist. Dadurch wird JAnE (laut
einer Expertenmeinung) multiuserfähig ;-)
*** Änderungen vom 21.1.95
43 Der 3D-Look in den Dialogen ist jetzt eingebaut, und zwar
abschaltbar. Die Umschaltung findet im TEE unter "Systemresourcen"
statt, so daß nicht im laufenden Betrieb gewechselt werden kann.
Gleichzeitig ist die Infobox etwas farbiger geworden.
44 Ein Bug gefixt, der in SCEleton bei unbefriedigten 'forward'-
Deklarationen zu Hängern führte.
*** Änderungen vom 23.1.95
45 Bei der Suche nach dem AV-Server wird jetzt auch Thing explizit
gesucht. Gleichzeitig die Suche nach dem Inhalt der Env-Variablen
'AVSERVER' korrigiert.
*** Änderungen vom 30.1.95:
46 Ein Bug gefixt, der dazu führte, daß beim Suchen mit reg. Ausdrücken
die Token '^' und '$' bei abgeschalteter Großschriftunterscheidung nicht
funktionierten.
47 Das komplexe Ersetzen von Leerzeilen durch "" (nichts) klappt
jetzt auch.
48 Die SCEleton-Aufruf 'openfile' und 'saveas' produzieren jetzt keine
Laufzeitfehler mehr.
49 Sehr häßlichen Bug in der Verwaltung der Makropakete gefixt, der
unter Umständen Verwaltungsstrukturen überschreiben konnte.
50 Sichergestellt, daß SCEleton beim Aufruf eines Untermakros keine
internen Referenzen auf Variable mehr übergibt.
51 Eine laufende Makroaufzeichnung kann jetzt auch über das Neuladen
einer INF-Datei hinweg weiterlaufen.
*** Änderungen vom 30.1.95:
52 Bei "Sichern als" wird nun der Ausgangsname in der Titel
zeiledes Fileselectors angezeigt.
53 SCEleton erzeugt im Falle nicht auscodierter 'forward'-
Deklarationen eine Fehlermeldung.
54 Die Fensterregister sind jetzt von den internen Puffern abhängig,
nicht mehr von den tatsächlichen Fenstern. Im Klartext bedeutet das, daß
ein Fenster, das geschlossen und wieder geöffnet wird, stets an seiner alten Position erscheint.
*** Änderungen vom 1.2.95
55 Neue Funktion: JAnE kann Gemini's Mupfel-Fenster per Fernsteuerung
öffnen bzw. toppen. Das ist als Ersatz für den 'Shell-Escape' anderer
Programme gedacht, sollte aber weniger problematisch sein als die
Benutzung von system(). Dazu dient der Menupunkt "Konsole öffnen" mit dem
Default-Shortcut "Shift-Control-Z".
56 Als Krönung des Ganzen enthält nun der Dialog "Programm starten"
die Option "Programmstart durch Desktop". Ist sie selektiert, so wird
der Name des zu startenden Programms an Gemini übergeben. Auf diesem
Wege lassen sich (laut Gemini-Doku) auch Dateien "starten", für die
unter Gemini eine Anwendung angemeldet ist. Unter SCEleton wird diese
Option von 'startprogram' mit dem Steuerparameter 'fromdesktop=yes'
benutzt.(Was hier für Gemini gesagt ist, gilt natürlich ebenso für jeden
anderen AV-Server mit denselben Fähigkeiten. Bis auf die Konsole
sollte z. B. Thing dasselbe bieten. Wie siehts mit Ease aus?)
*** Änderungen vom 4.2.95
57 Bug im Zusammenhang mit dem Window-Backdrop repariert.
58 Nach jeder Änderung im GEM-Klemmbrett schickt JAnE unter
Multitasking- Systemen jetzt eine SC_CHANGED-Message (nach dem
Vorschlag von Thomas Much) an alle anderen Programme.
59 Gaaanz wichtig: Der Balken in der Fortschrittsanzeige im
Druckdialog erscheint jetzt in Farbauflösungen rot.
60 Die Zeichenbreiten werden jetzt bei proportionalen Fonts wieder
richtig ermittelt.
*** Änderungen vom 5.2.95
61 Neuer SCEleton-Befehl: 'release()' (ohne Parameter). Er hat
folgenden Zweck: Bei 'openwindow()' wird der Text hinter dem
geöffneten bzw. getoppten Fenster als von SCEleton benutzt markiert,
so daß er nicht geschlossen werden kann, solnage der Makro läuft. Das
bezieht sich aber auch auf das Schließen durch 'ckey("^U")' oder
'cnumber(59)'. Vor diesen Befehlen sollte man also 'release()'
einfügen. Ach ja - beim Starten eines Makros mit 'ALT-G' wird dasselbe
Flag auf den Quelltext gesetzt, damit der im Falle von Laufzeitfehlern
garantiert noch zur Verfügung steht, um die Fehlerzeile zu markieren.
*** Änderungen vom 7.2.95
62 Es gibt jetzt auch SCEleton-Befehle zum Lesen und Schreiben
von INF-Dateien:
'saveinf(file)' Sichert die aktuelle Arbeitsumgebung in
die Datei 'file'.
'loadinf(file)' Liest die in 'file' gespeicherte
Arbeitsumgebung.
'loadinf' ist in folgender Hinsicht mit Vorsicht zu genießen:
Zum Laden der neuen Umgebung werden zunächst sämtliche derzeit im
Speicher befindlichen Texte beseitigt. (Das ist auch zu beobachten
wenn dieselbe Operation vom Menü aus gestartet wird.) Dabei werden
die Flags, die 'openwindow()' setzt (siehe 61), implizit zurückgesetzt.
Wer also diesen Befehl verwendet und hinterher Annahnmen darüber macht,
daß sich ein bestimmter Text noch immer im Speicher befindet, ist selber
schuld. Das Markieren der Fehlerzeile bei Laufzeitfehlern wird durch
diesen Befehl auch unmöglich gemacht.
63 Als Ergänzung zu den vorigen ein weiterer Befehl:
'infpath(path)' liest oder setzt den aktuellen INF-Dateipfad.
Dieser Pfad (er enthält auch den Namen) legt fest, in welcher Datei
JAnE bei Programmende die Arbeitsumgebung speichert, sofern diese
Option aktiv ist. Wird ein Leerstring als 'path' übergeben, so gibt
'infpath()' nur die aktuelle Einstellung zurück. Andernfalls wird der
interne Pfad auf 'path' gesetzt.
** Änderungen vom 8.2.95
64 Und noch ein neuer Befehl:
'datatype(x)' gibt den Ergebnistyp des übergebenen Ausdrucks
'x' zurück.
Genauer ist das Ergebnis von 'datatype' eine Zeichenkette mit den
möglichen Werten:
'null' für die generische Null '$$$'
'int' für eine Zahl
'string' für eine Zeichenkett
'list' für eine Liste von Werten
65 Die Ausgangsknöpfe sämtlicher Dialog- und Alertboxen wurden dem
neueren Standard angepaßt, d. h. der Knopf, der die gemeinte Aktion
auslöst, liegt immer rechts unten.
*** Änderungen vom 9.2.95
66 Und weils so schön war, noch zwei neue SCEleton-Befehle:
'findnext' setzt eine laufende Suche fort
'replacenext' sucht und ersetzt weiter
Sie entsprechen genau den Menübefehlen 'Weiter suchen' und
'weiterersetzen' bzw. deren Pendants auf der Tastatur. Allerdings
melden sie im Gegensatz zu diesen das Ergebnis der Suche zurück. Der
Rückgabewert ist wie folgt zu entschlüsseln:
> 0: Noch eine passende Textstelle gefunden
== 0 Keine passende Stelle mehr gefunden
< 0: Es ist ein Fehler aufgetreten
67 Ein Bug repariert, der beim doppelten Laden einer Datei mit Sperren
zum Absturz führte.
68 Bei der Auswahl einer Metadatei vom Druckdialog aus wird die Maus
wieder eingeschaltet.
*** Änderungen vom 20.2.95:
69 Ein übler Bug repariert, der bei Belegung von F10 mit einem Makro
zum Absturz führen konnte.
70 'loadinf' und 'saveinf' prüfen nicht mehr, ob ein Fenster offen ist.
71 Der Druckstatusdialog sieht auch wieder ordentlich aus.
72 Der 'shel_write()' am Programmende findet nur noch statt, wenn
wirklich ein Programm gestartet wurde.
73 Auch beim 'fullen' eines Fensters wird jetzt die geänderte
Fenstergröße vermerkt.
*** Änderungen vom 28.2.95:
74 Ein Bug repariert, der bei Eingabe von zwei identischen
Klammerpaaren Abstürze provozierte.
75 Alle Unterdialoge, Alertboxen etc. werden jetzt, sofern möglich, in
Fenster gelegt. (Unmöglich ist es genau dann, wenn das System kein
Fenster mehr öffnen kann.) Dabei wird die Menüleiste gesperrt. Der
Zugriff auf Accessories bzw. Parallelprozessse ist aber möglich.
76 Ein Bug repariert, der ab dem zweiten Start eines Makros das
Abbrechen mit "Shift-Shift" sicher verhinderte.
*** Änderungen vom 1.3.95
77 Der 'ckey'-Befehl gibt jetzt im Falle von nicht vorhandenen
Tastennamen einfach das erste Zeichen des übergebenen Strings aus. Der
Tastenname 'ENTR' ist verschwunden (Andreas: Bitte im Handbuch
nachbessern!), da Tasten soweit wie möglich über ASCII-Codes
entschlüsselt werden und 'Enter' und 'Return' nunmal beide den Code 13
liefern.
78 In den Textfenstern wird nun ein Rand von 3 Pixeln weiß gelassen.
Dadurch hat man zwar eine Textspalte weniger, aber dafür wird m. E.
die Lesbarkeit verbessert.
*** Änderungen vom 6.3.95
79 Beim Sperren der Menüzeile für einen modalen Fensterdialog wird nun
nicht mehr die ganze Breite der Zeile für das Accessory-Menü
sensibilisiert.
80 Wird eine Zeile mit Alternate-Klick selektiert, wird nun auch beim
festgehaltener Maus zeilenweise weiterselektiert.
81 Beim Speichern der Fensterkoordinaten in der INF-Datei treten jetzt
hoffentlich keine Rundungsfehler mehr auf, die zu Fensterwanderungen
führen.
82 Der Abfragedialog beim wahlweisen Ersetzen liegt jetzt auch in einem
Fenster.
*** Änderungen vom 7.3.95
83 In den Popups für Texte und Makropakete werden jetzt die Einträge, die
sich auf offene Fenster beziehen, abgehakt.
84 Gleichzeitig passen sich diese Popups jetzt in der Breite an die
vorhandenen Einträge an.
85 Fehler behoben, der beim Verlassen der Zeichentabelle zu allen mögliche
Problemen führte.
*** Änderungen vom 13.3.95
86 Beim Laden von Texten aus einer gesicherten Arbeitsumgebung werden
jetzt keine Leerzeilen mehr angehängt.
87 Nach einem Mausklick in den freien linken Rand sollte der Cursor jetzt
korrekt gezeichnet werden.
88 Die SCEleton-Funktionen 'linelen()' und 'curcol()' arbeiten jetzt
wieder korrekterweise mit Zeichenpositionen. Dabei ist zu beachten, daß
Tabulatoren hier immer als ein Zeichen angesehen werden; dies gilt auch
dann, wenn die expandierte Darstellung eingestellt ist.
89 Das binäre Öffnen von Dateien klappt wieder. Außerdem gibt
'openbinary()' keine falschen Fehler mehr zurück.
90 Zugriffe auf nicht existierende Listenelemente fängt der
SCEleton-Interpreter jetzt sauber ab.
91 Beim Sichern der Arbeitsumgebung wird das SCEleton-Fenster nicht mehr
mitgesichert.
92 Mal wieder eine neue Fehlermeldung: "2.44: Die Selektion ist kein
Makroname". Sie tritt auf, wenn man versucht, einen SCEleton-Quelltext
direkt aus dem Textfenster auszuführen und dabei einen Textblock
selektiert hat, der kein gültiger Makroname ist. (Hat man gar nichts
selektiert, so wird bekanntlich der oberste Makro ausgeführt.) Diese
Situation wurde bisher stillschweigend übergangen.
*** Änderungen vom 19.3.95
93 Im Wesentlichen wurde die Version vom 13. mit einer neuen Infobox
ausgestattet und als 1.19 (ohne Beta) etikettiert, damit Tom sie den
STC-Leuten für Tests zur Verfügung stellen kann. Von daher sollte sich
bis zur offiziellen 1.20 eigentlich nicht mehr viel tun. Für Bugreports
bin ich natürlich nach wie vor offen.
94 TEE arbeitet jetzt aus optischen Gründen immer im 3D-Look.
*** Änderungen vom 22.3.95
95 Die Kapitälchen-Routine setzt jetzt nicht nur den ersten Buchstaben
eines Wortes in Großschrift, sondern auch alle anderen explizit in Klein-
schrift um.
96 Das automatische Übernehmen des Fonts aus dem Defaultprofil sollte auch
wieder funktionieren.
97 Bei "Fenster anordnen" werden die Fenster jetzt in der Horizontalen
gleichmäßiger verteilt.
*** Änderungen vom 2.4.95
98 Es werden keine falschen Ein-Zeichen-Selektionen mehr stehengelassen.
99 Der SCEleton-Befehl 'redraw()' sollte jetzt pflichtgemäß funktionieren.
*** Änderungen vom 18.4.95
100 Beim Einlesen von INF-Dateien wird die Anzahl der geladenen Texte
jetzt korrekt nachgeführt, so daß es zu keinen falschen Fehlern wegen
zuvieler geladener Texte mehr kommen sollte.
101 Die Fehlermeldung "Die Datei existiert nicht, ..." (M2.7) wird jetzt
nicht mehr ausgegeben, da sie die Arbeit eher behinderte als sonstwas.
102 Bei gesperrten Texten ist auch kein Hinzuladen anderer Texte mehr
möglich.
103 Der (bisher nicht dokumentierte) SCEleton-Befehl 'loadlineal()' heißt
jetzt 'loadprofile()'. Hier ist die Dokumentation:
loadprofile(datei)
lädt zum aktuellen Text das Textprofil aus 'datei'. Er funktioniert damit
wie der Menübefehl 'Profil laden'.
104 Als Pendant dazu gibt es ferner den neuen Befehl
saveprofile(datei)
der das Profil des aktuellen Textes in die Datei 'datei' sichert.
(Beide Befehle werden jetzt auch vom Makrorecorder unterstützt.)
*** Änderungen vom 20.4.95
105 Wird in TEE eine relativ niedrige Speichergrenze (z. B. 400 K) gesetzt,
so verweigert JAnE jetzt nicht mehr die Mitarbeit.
*** Änderungen vom 24.4.95
106 Die Message AP_TERM wird jetzt unter MTOS korrekt verarbeitet;
unter MagiC 3 sollte es demnach auch gehen.
*** Änderungen vom 02.05.95
107 Die SCEleton-Calls 'getprofile' und 'getoption' geben jetzt keine
Ziffern mehr zurück, sondern soweit möglich die Steuerstrings, mit
denen die entsprechenden Optionen auch gesetzt wurden, also z. B.
'off' und 'on' statt '0' und '1'.
108 Falls beim Laden mit Zeilenende-Code die maximale Zeilenlänge
erreicht wird, werden keine Zeichen mehr unterschlagen.
*** Änderungen vom 07.05.95
109 Einige Speicherreservierungen in der Startphase besser abgesichert.
*** Änderungen vom 15.05.95
110 Wenn "Programmende mit Rückfrage" eingestellt ist, dann kann auch
beim Shutdown durch die Dialogbox abgebrochen werden. Der Fehler, der
angeblich unter MagiC 3 dazu führt, daß die Fenster zu früh geschlossen
werden, ist unter MTOS nicht nachzuvollziehen. Schickt MagiC da WM_CLOSEs
rund?
111 Die mainimale Fensterhöhe wurde etwas vergrößert, da einige TOS-
Versionen mit zu kleinen Fenstern Probleme zu haben scheinen
*** Änderungen vom 22.05.95
112 Eine Absturzmöglichkeit beim Programmende ausgebaut (passierte, wenn
kein Textfenster oben lag).
113 Beim Drag & Drop und VA_START sollten jetzt keine namenlosen Files
mehr angelegt werden.
*** Änderungen vom 07.06.95
114 Redrawfehler bei Mausklicks (rechts) in hintenliegende Fenster dadurch
aufgefangen, daß das fragliche Fenster kurzerhand getoppt wird.
*** Änderungen vom 12.06.95
115 Der Mauszeiger verschwindet jetzt bei Tastendruck und zeigt sich erst
wieder, sobald die Maus bewegt wird. Außerdem flackert er nicht mehr so sehr
beim Textcursorblinken.
116 Die doppelten Textcursor sind jetzt hoffentlich behoben. (Ganz
sicher kann ich da nicht sein, da der Fehler offenbar etwas mit dem
Timing beim Blinken zu tun hat und daher nur sehr schwer zu
reproduzieren ist.)
*** Änderungen vom 15.06.95
117 Eine explizite Abfrage auf die Existenz von WINCOM im Speicher
eingebaut, um die Geschwindigkeitsprobleme in diesem Fall zu umgehen.
*** Änderungen vom 21.06.95
118 Im Zuge der Verbesserungen an den Directory-Routinen für BoxKite
wurden die SCEleton-Calls 'Fsfirst' und 'Fsnext' so geändert, daß die
Ergebnislisten zusdätzlich als letztes Element einen UN*X-artiges
(oder vielmehr MiNT-artiges) Moduswort enthalten. Zur Belegung siehe
MiNT-Dokus. Unter Plain-TOS muß das natürlich emuliert werden. Hier sind
stets für jede Datei alle Rechte gesetzt.
*** Änderungen vom 27.06.95
119 Ein Fehler im SCEleton-Parser behoben, der bei fehlerhaften
Quelltexten, die nur aus einer Zeile bestehen, zum Absturz führenkonnte.
*** Änderungen vom 10.07.95
120 Bei der Zuordnung der Textprofile zu den Texten werden jetzt die
Extender OHNE Beachtung der Groß/Kleinschreibung geprüft. Das geschieht,
um Fehlern auszuweichen, die auftreten, wenn JAnE aus der Mupfel gestartet
wird und Dateinamen von Hand eingegeben werden (und dann natürlich nur in
Kleinschrift).
121 Bei 'Speichern als' wird jetzt nur der selektierte Block gesichert,
falls einer selektiert ist.
*** Änderungen vom 11.7.95
122 Beim 'ckey()'-Befehl wird jetzt die Maus vorher versteckt und
anschließend wieder gezeigt. Dadurch wird bei scrollenden Operationen
das Mitscrollen des Mauszeigers unterbunden.
123 'Speichern als' ändert jetzt auch bei Makropaketen den Fenstertitel.
*** Änderungen vom 17.7.95
124 Der Punkt 120 sollte jetzt korrekt funktionieren.
125 Beim zeilenweisen Aufziehen von Blöcken werden jetzt Leerzeilen
mitselektiert.
*** Änderungen vom 28.7.95
126 In Dialogboxen werden bei Dateinamen immer alle Zeichen akzeptiert.
*** Änderungen vom 31.7.95
127 Bei Fundstellen der Länge 0 (kommt beim Suchen mit reg. Ausdrücken
auf Zeilenanfänge u. ä. vor) wird jetzt nichts mehr selektiert,
sondern nur noch der Cursor auf die Fundstelle gesetzt.
128 Die Textdarstellungsroutinen ein bißchen umorganisiert, um für den
Einbau von Textattributen, Einfärbungen u. ä. vorbereitet zu sein.
129 Beim Drag & Drop werden nun Dateien immer an der Cursorposition
eingefügt, und nicht mehr an der Stelle, auf die der Mauscursor zeigt.
Ursache dafür ist, daß es zu schwierig ist, mit dem Mausform
'Patschhändchen' eine bestimmte Stelle anzufahren.
*** Änderungen vom 3.8.95
130 Jetzt ist auch das direkte Drag & Drop von Textblöcken eingebaut,
d. h. Textstücke können mit der Maus von einem Fenster ins andere
gezogen werden. Das Verschieben wird ausgelöst, wenn man in den Block
klickt und die Maustaste hält. Auch hierbei wird im Zielfenster an der
Cursorposition eingefügt. Wird die Maus in den Grenzen des
Ausgangsblockes losgelassen, so wird die Operation abgebrochen. Falls
im Zielfenster auch schon ein Block selektiert ist, so wird dieser mit
dem gedragten Text überschrieben. Das gilt nicht, wenn innerhalb
desselben Fensters gedragt worden ist, da in diesem Falle vermutlich
die Verdoppelung des Textblockes beabsichtigt war.
*** Änderungen vom 20.8.95
131 Jetzt ist auch das externe Drag & Drop eingebaut, d. h. der
direkte Austausch von Textstücken mit parallel laufenden Applikationen
nach dem MTOS-D&D-Protokoll. Das setzt als Betriebssystem MTOS oder
MagiC 3 voraus. Im Rahmen dieses Protokolls kann JAnE den Datentyp
'.TXT' senden und empfangen.
132 Das interne D&D wurde so verändert, daß nur noch zwischen
verschiedenen Fenstern gedragt werden kann. Wegen der Regel, daß
immer an der Cursorposition eingefügt bzw. der selektierte Block
überschrieben wird, scheint mir ein 'Draggen' innerhalb eines
Fensters nicht mehr sinnvoll. Bei beiden Verfahren wird bei
gehaltener 'Control'-Taste der Textblock ausgeschnitten, d. h. nach
der Übertragung an der Quelle gelöscht. Da ein 'Control'-Klick
normalerweise dazu dient, die Blockgrenzen zu verändern, ist hier die
Bedienung etwas kompliziert: Man muß erst während des Ziehens die
Control-Taste drücken. So lassen?
133 Bei 'Alles schließen' war die Sicherheitsabfrage wirkungslos.
Bug gefixt.
*** Änderungen vom 29.8.95
134 Eine neue Möglichkeit der Fließtextbearbeitung eingebaut. Unter
Fließtext soll dabei Text verstanden werden, in dem Absatzenden mit
CRLF markiert sind, während die Zeilenenden verschoben werden können.
Der Fließtextmodus gilt für die interne Bearbeitung dann als aktiv,
wenn der automatische Umbruch im Textprofil eingeschaltet wird.
Dann gilt auch ein neues Absatzkonzept: Ein Absatzende wird durch eine
Zeile markiert, an deren Ende weder ein Leerzeichen noch ein Tab
steht. Das Leerzeichen am Ende einer Zeile bedeutet also: In der
nächsten Zeile geht der laufende Absatz weiter. Das klingt jetzt
vielleicht kompliziert, ergibt sich aber ganz natürlich aus dem
Schreibfluß, da die Leerzeichen ohnehin geschrieben werden, um die
Worte zu trennen. Beim Umbruch brauchen diese Leerzeichen dann nur
stehen zu bleiben. Ein neuer Absatz wird erzeugt, indem sofort nach
dem letzten Wort 'Return' gedrückt wird.
Das gilt jetzt nur für die Texterfassung. Um den Fließtext auch als
solchen zu speichern, ist im Textprofil die Option "Speichern als
Fließtext" hinzugekommen. Ist dieser Schalter aktiv, so werden nur an
den Absatzenden im Text die CRLFs oder sonstigen Zeilenden
eingesetzt. Trotz der Namensgebung (Platzgründe im Dialog) wirkt
diese Option auch beim Laden. Sie weist JAnE dann an, den Text an
Wortzwischenräumen auf die gewünschte Breite umzubrechen. Diese
Option kann unabhängig vom automatischen Umbruch ein- und
ausgeschaltet werden.
Diese Option wird in den SCEleton-Aufrufen 'setprofile' und 'getprofile'
mit dem Schlüsselwort 'paratext' angesprochen.
135 Damit der Fließtext-Speicher-Schalter auch beim Laden Sinn macht,
wurde sichergestellt, daß ein evtl. zum Text gehöriges Textprofil immer
VOR dem Text selbst geladen und ausgewertet wird.
136 Zusätzlich sucht JAnE immer als erstes Profil zu einem Text eine
Profildatei, die 'Textname.JTP' heißt und im selben Ordner wie der
Text liegen muß. Zu 'erato.c' wird also beispielsweise 'erato.JTP'
gesucht. Dementsprechend wird beim Sichern des aktuellen Textprofils
dieser Name im Fileselektor vorgegeben.
*** Änderungen bis 11.11.95
137 Die Zeichensatzauswahl für die Bildschirmanzeige ist aus dem
Textprofildialog in einen eigenen Menüpunkt gewandert.
138 Das wird ein etwas längerer Eintrag, da sich eine ganze Menge getan
hat. Bitte genau lesen!
Das Wesentliche zuerst: JAnE kennt jetzt Textattribute!
Genauer gesagt: Es ist möglich, Textpassagen kursiv, fett, hell,
unterstrichen und/oder in einer von 7 Farben (den VDI-Farbindizes
1-7) erscheinen zu lassen.
Diese Option muß über das Textprofil eingeschaltet werden. Die
entsprechenden Radiobuttons im Profildialog (sie haben die
Zeichensatzauswahl verdrängt) steuern auch die Behandlung der
Attribute beim Abspeichern (dazu unten mehr). Mit dem Menüpunkt
'Bearbeiten/Stil u. Farbe' wird entweder eine Attributkombination zum
Schreiben vorgegeben oder ein selektierter Block mit neuen Attributen
ausgestattet.
Zunächst sind ein paar Worte zur Implementierung angebracht: Die
interne Darstellung erfolgt über 'versteckte' Steuerzeichen mit
ASCII-Codes >= 240, die immer dort stehen, wo ein Attributwechsel
erfolgt. (Sie können z. Zt. z. B. mit dem Hexeditor sichtbar gemacht
werden.) Das impliziert natürlich, daß solche Zeichen nicht einfach
so eingegeben werden können sollten (auch nicht über den Hexeditor).
Das ist schon mal ein Grund, weshalb diese Option abschaltbar ist.
(Ein kleiner Nebennutzen dieses Ansatzes: Es ist sehr einfach, diese
Steuerzeichen in die 'E-Mail-Attribute' (* für Fettdruck, _ für
Unterstreichungen etc.) zu übersetzen.)
Nun sind solche Sonderzeichen im Text aber u. U. beim Abspeichern
nicht erwünscht, weil sie z. B. einen Compiler übel zum Stottern
bringen können. Daher gibt es zur Behandlung beim Speichern mehrere
Möglichkeiten:
a) Die Steuerzeichen können beim Speichern im Text belassen werden.
b) Die Steuerzeichen können beim Speichern unterschlagen werden.
(Diese Möglichkeit möchte ich mir für das kommende
Syntax-Highlighting offenhalten. Dann könnten - je nachdem, wie
schnell der Scanner wird - die Steuerzeichen beim Speichern
gestrichen und beim Laden vom Scanner neu erzeugt werden.)
c) Die Steuerzeichen können getrennt vom Text in einer eigenen Datei
untergebracht werden. (Auf die Idee bin ich gekommen, als ich mich
ein wenig mit dem Mac-Dateisystem befaßt habe - Stichwort
Resource-Fork.) Das Handling ist natürlich unter TOS etwas
komplizierter, darum biete ich diese Möglichkeit hier nur als
Alternative an. Sie hat aber den Vorzug, daß die 'nackte' Textdatei
als Input für Compiler etc. verwendet werden kann und die
Attributinformationen trotzdem nicht verloren gehen. Der Name dieser
Attributdatei wird aus dem Namensrumpf der Textdatei und der Endung
'JTR' gebildet. (Also: 'dummy.c' -> 'dummy.JTR') Diese JTR-Datei
enthält zudem auch das Textprofil, mit dem die Textdatei bearbeitet
wurde.
Ein Sonderfall ist die Behandlung beim Schreiben ins GEM-Clipboard. In
diesem Fall werden zwei Dateien erzeugt: SCRAP.TXT und SCRAP.JTX, von
denen die letztere die Attributinformationen enthält. Bei der Arbeit
mit dem internen Clipboard werden die Steuerzeichen beim Einfügen in
Texte mit abgeschalteten Steuerzeichen entfernt. Wäre hier eine
Warnung angebracht?
Was fehlt noch?
- Der Ausdruck von Texten mit Attributen geht zur Zeit nur per GDOS,
nicht über den normalen Druckertreiber. Bevor ich daran etwas mache:
Hat schon mal jemand eine Anpassung für HP-Laser oder -Tintenspritzer
gebaut? Sind dafür evtl. die Druckerstrings zu kurz definiert
- Der 'grafische Blocksatz' arbeitet zur Zeit nicht mehr; ich denke
darüber nach, dieses Feature ganz zu streichen, da es mir in dieser
Form nicht mehr sinnvoll erscheint.
- Einige der Textbearbeitungsfunktionen machen garantiert noch
Probleme, wenn Steuerzeichen im Text stehen ;-)
- Die Textattribute werden von SCEleton aus noch in keinster Weise
unterstützt.
- Und natürlich noch der Scanner für das Syntax-Highlighting.
************* Achtung: ******************
Diese Änderungen brachten es mit sich, daß einige Teile von JAnE
(u. a. Bildschirmdarstellung von Text) von Grund auf neu geschrieben
wurden. Diese Version ist mit entsprechender Vorsicht zu genießen!!!
*** Änderungen vom 13.11.95
139 JAnE unterstützt jetzt auch die Programmier-Schnittstelle vo
BoxKite 1.7x, falls dieser im Fenster liegt.
140 Ein Bug gefixt, der dazu führte, daß die Einstellungen des
Druckerdialogs nicht korrekt in die INF gesichert wurden.
141 Beim Einschalten der regulären Ausdrücke im Suchdialog wird
jetzt nicht mehr das komplexe Ersetzen erzwungen.
*** Änderungen vom 20.1.96
142 Nach langer Pause gehts weiter: Der Druckerdialog wurd
überarbeitet: Wesentliche Neuerung ist die Geräteauswahl. Am oberen
Rand der Box liegen jetzt zwei Popups, von denen das Linke einen
Gerätetyp, das Rechte ein Gerät dieses Types auswählt. Dabei verstehe
ich unter einem Gerätetyp i. a. eine GDOS-Gerätekategorie, die durch
die erste Ziffer der ASSIGN.SYS-Kennung ausgedrückt wird (2=Drucker,3
Metafile usw.) Als spezielle Klasse kommt der "Drucker im
Textmodus" (d. h. zum Ausdruck über GEMDOS) dazu. Der Sinn der Sache
besteht darin, daß alle GDOS-Geräte zur Verfügung stehen, ohne daß
beim Start alle Gerätenummern bis 99 getestet werden müssen. Der Test
erfolgt für den aktuellen Typ bei der Auswahl im Typenpopup. Im Zuge
dessen ist die Gerätenummernauswahl im TEE unter "Systemressourcen"
natürlich entfallen.
143 Fehler beim komplexen Ersetzen repariert, der bei Fundstellen
auftrat, die mit einem Zeilenende abschlossen.
*** Änderungen vom 21.1.96
144 Das Suchen funktioniert nun auch innerhalb von Makros bei Texten,
die Attribute enthalten. Gleichzeitig die Speicherroutine dahingehend
geändert, daß auch Nullbytes als Zeilenenden funktionieren.
145 Bei binär geladenen Texten werden die Attribute sofort und
prinzipiell ausgeschaltet.
146 Beim Zurücksetzen wurden die Fenstermaße nicht an einen evtl.
geänderten Font angepaßt. Das konnte zu Redrawfehlern führen.
*** Änderungen vom 4.2.1996
Das gibt jetzt wieder einen größeren Batzen:
147 Das Attributmenü wurde etwas überarbeitet. Neu ist der Punkt
"Kein Attribut", der auf schwarze Schrift ohne Effekte umschaltet.
148 Es ist jetzt auch möglich, im Textmodus mit Attributen zu drucken.
Dazu existiert im TEE eine zweite Druckeranpassungsbox, in der die
Steuersequenzem zum Einschalten der Stile bzw. Farben eingestellt
werden können. Sie sollte für sich selbst sprechen.
149 Die Alarmboxen beim Suchen ("Text nicht gefunden" bzw. "Text wurde
soundso oft ersetzt") können jetzt per "Einstellungen" abgeschaltet
werden. Mißerfolge beim Suchen werden dann aber mit einem Piepser
quittiert, damit wenigstens noch eine Rückmeldung da ist. Diese
Einstellung wird von SCEleton aus über 'setoption' und 'getoption'
mit dem Argument 'searchalerts' gesetzt bzw. abgefragt.
150 Der 'grafische Blocksatz' beim Druck über GDOS ist entfallen.
151 Es gibt SCEleton-Befehle zum Setzen und Abfragen von
Textattributen:
'setstyle(style)' Stattet den selektierten Block mit den
angegebenen Attributen aus oder bestimmt
die Attribute für die nächste Zeicheneingabe,
falls kein Block selektiert ist.
(Funktioniert also wie "Stil/Farbe" unter
"Bearbeiten".)
'plainstyle()' Wie 'setstyle()', nur daß alle Attribute
abgeschaltet werden, d. h. es wird schwarze,
unverzierte Schrift gewählt (vgl. "Kein
Attribut").
'getstyle()' Gibt die Attribute des selektierten Blockes
oder der nächsten Texteingabe zurück.
Im Parameter 'style' von 'setstyle' bzw. im Rückgabewert vo
'getstyle' werden die Attribute über parametrische Schlüsselwörter
wie folgt kodiert:
Name Werte Bedeutung
---- ----- ---------
'underlined' 'nil' Status nicht verändern.
'off' Unterstreichung beenden
'on' Unterstreichung beginnen
'slanted' dito Kursivschrift
'bold' dito Fettschrift
'light' dito Helle Schrift
'color' 'nil' Farbe nicht verändern
'black' Farben
'red'
'green'
'blue'
'cyan'
'yellow'
'magenta'
Beispiel:
setstyle('underlined=on,color=blue');
Fehlende Attribute werden unverändert gelassen, als ob sie
mit 'nil' gesetzt worden wären.
152 Der Suchdialog hat einige neue Möglichkeiten erhalten: Zunächst
kann angegeben werden, daß der Suchtext nur als ganzes Wort gefunden
werden soll. Ferner können zum Suchtext Attribute mit angegeben
werden. Eine solche Suche ist nur dann erfolgreich, wenn der Text und
die Attribute gefunden werden. Analog können beim Ersetzen Attribute
angegeben werden, die mit dem Ersetztext eingefügt werden.
Schließlich liegen hinter den Eingabefeldern jetzt Popups, die die
letzten 6 benutzten Strings speichern. Dabei werden wiederbenutzte
Strings nach oben 'recycled' und bei Platzmangel der Älteste
herausgeschoben. (Das ähnelt verdächtig dem Pfadmenü in BoxKite ;-)
Entsprechende Erweiterungen in SCEleton: Der Modusparameter von
'findreplace' kann jetzt auch die Option 'word=yes/no' enthalten, der
die Suche nach ganzen Wörtern steuert. Für dias Suchen/Ersetzen mi
Attributen gibt es den Befehl 'xfindreplace' mit der Syntax:
xfindreplace(string, replace, optionen, suchstil, ersetzstil)
Dabei decken sich die ersten drei Parameter mit denen von 'findreplace'.
'suchstil' und 'ersetzstil' definieren die Attribute, wie unter
'setstyle' beschrieben.
153 Im Formatierdialog können jetzt auch Einrückungen definiert
werden. Dabei kann angegeben werden, ob alle Zeilen oder nur die
Absatzköpfe eingerückt werden sollen. Textbreite und Einrücktiefe
werden in Zeichenspalten angegeben. Achtung: Die Einrücktiefe wird
von der Textbreite subtrahiert, d. h. bei 70 Spalten Textbreite und 4
Spalten Einrücktiefe stehen 66 Spalten für Text zur Verfügung. Diesen
erweiterten Möglichkeiten entspricht eine erweiterte
SCEleton-Funktion mit folgender Syntax:
xreformat(modus, breite, einrueck);
Die Parameter funktionieren wie folgt:
'modus': Bestimmt, was gemacht wird: Es handelt sich hier um
parametrische Schlüsselwörter mit den folgenden
Möglichkeiten:
Name Werte Bedeutung
---- ----- ---------
'mode' 'left' Wie beim alten 'reformat()'.
'center'
'right'
'justify'
'indent' 'none' Nichts einrücken.
'paras' Absatzköpfe einrücken.
'all' Alle Zeilen einrücken
'breite': Textbreite in Spalten.
'einrueck': Einrückung in Spalten.
Beispiel:
xreformat('mode=justify,indent=paras', 70, 4);
154 Im Makrorecorder für den Suchdialog wurde 'complex' falsch
aufgezeichnet.
*** Änderungen vom 11.2.1996
155 Scrollfehler in der Hilfebox behoben.
156 Wenn der Textcursor wieder in den sichtbaren Bereich geholt wird,
wird der Slider jetzt korrekt nachgeführt.
157 Im Hexeditor kann der Cursor nicht mehr mit der Maus hinter das
Ende der Eingabe gestellt werden.
*** Änderungen bis 2.4.1996
Mal wieder eine längere Pause, aber dafür einige News:
158 Ein Bug korrigiert, der beim erfolglosen Rückwärtssuchen nach
regulären Ausdrücken zum Absturz führte.
159 Die Kommandozeilenargumente -x, -r, -q und -[Zeile] werden auch
dann ausgewertet, wenn die Kommandozeile per VA_START bzw. D&D
übergeben wurde. Das Argument -[Zeile] wird nicht ausgewertet, wenn
die Dateien ins aktuelle Fenster eingefügt werden sollen.
160 Ist ein Text einer Profildatei zugeordnet, so wird diese bei
Änderungen in einem der Textprofildialoge sofort aktualisiert, d.h.
das Sichern von Hand kann entfallen. Eine solche Zuordnung entsteht,
wenn die Profildatei beim Öffnen des Textes automatisch oder später
von Hand geladen oder unter einem Dateinamen gesichert wird.
161 Wenn mehrere Texte derselben Profildatei zugeordnet sind (z. B.
über den Dateityp) und in einem dieser Texte das Profil verändert
wird, so werden alle betroffenen Texte automatisch angepaßt.
162 Beim Beenden von JAnE wird in JANE.INF anstelle der kompletten
Profilinformationen nur ein Verweis auf die Profildatei gespeichert,
sofern eine zugeordnet war. Falls die Zuordnung über den Dateityp
zustande kam, so wird in JANE.INF nur diese Tatsache vermerkt. Das
soll bewirken, daß zwischenzeitliche Änderungen der Typzuordnungen
über TEE sofort wirksam werden.
163 Beim automatischen Umbruch werden an den Zeilenenden nur noch
Leerzeichen entfernt, aber keine Tabs mehr. Dadurch springt der
Cursor nicht mehr, wenn ein Tab am Zeilenende eingefügt wird.
164 Die Textattribute haben jetzt ihre Daseinsberechtigung erhalten:
Das Syntax-Highlighting ist eingebaut!
Es ist jetzt also möglich, in Programmtexten, TeX-Texten etc.
Textteile anhand ihrer syntaktischen Bedeutung durch Farben und/oder
Attribute hervorzuheben. Diese Features werden über das Textprofil
gesteuert und im Dialog "Optionen/Hervorhebungen" eingestellt. Zuvor
müssen sie aber unter "Optionen/Textprofil" eingeschaltet werden.
Andernfalls ist "Hervorhebungen" nicht anwählbar.
Unter "Hervorhebungen" können die folgenden Textbestandteile mit
Stilkombinationen versehen werden: Zeichenketten, Kommentare und
Schlüsselwörter. Zeichenketten und Kommentare werden wie gehabt unter
"Syntaktisches" definiert. Die Schlüsselwortliste befindet sich unter
"Hervorhebungen". Bei einem Schlüsselwort, das hier eingetragen wird
muß es sich natürlich um ein Wort im Sinne der Definition unter
"Syntax" handeln.
Neben der Schlüsselwortliste können Schlüsselwörter auch über eine
Markierung definiert werden. Das bedeutet einfach, daß jedes Wort,
dem ein bestimmtes Markierungszeichen ohne trennendes Leerzeichen
vorausgeht, als Schlüsselwort angesehen wird. Wird als Markierung
z.B. der Backslash eingestellt, so hat man alle TeX-Befehle erfaßt,
ohne auch nur ein Schlüsselwort von Hand einzugeben.
*** Änderungen bis 5.4.1996
165 Es ist jetzt nicht mehr möglich, dieselbe Datei in mehreren
Textpuffern zu öffnen. Dies scheint mir im Verhältnis zum praktischen
Nutzen zu verwirrend. Wird versucht eine Datei zum zweitenmal zu
öffnen, so erscheint ein Alert, der die Auswahl bietet, die Datei
anzuzeigen (d.h. das Fenster zu toppen), oder sie neu zu laden (was
dem Zurücksetzen über das Menü entspricht).
166 SCEleton erzeugt keinen Laufzeitfehler mehr, wenn einem
Stringelement der ASCII-Code 255 zugewiesen werden soll.
167 Wieder ein neuer SCEleton-Befehl:
rv = stripchars(string, class);
Dieser Befehl entfernt aus der Zeichenkette 'string' alle Zeichen der
Klasse 'class' und liefert das Ergebnis in 'rv' zurück. Dabei muß
'class' als Zeichenklasse im Sinne der regulären Ausdrücke angegeben
werden. Mit diesem Befehl lassen sich leicht die
Attribut-Steuerzeichen aus einer Textzeile entfernen:
text = stripchars(zeile, "[\xf0-\xff]");
168 Die 3D-Dialoge sind jetzt standardmäßig eingeschaltet und müssen
über TEE ausgeschaltet werden.
*** Änderungen bis 10.4.1996
169 Wenn JAnE komplett ikonifiziert ist (Control-Click auf den Smaller)
und ein neues Fenster geöffnet werden soll, wird zuerst alles
entikonifiziert.
170 Bei der Anmeldung zum VA-Protokoll wird jetzt der App-Name
verwendet, unter dem JAnE beim AES tatsächlich bekannt ist. Das räumt
hoffentlich die Probleme mit Thing aus.
*** Änderungen bis 27.4.199
171 Der automatische Umbruch wurde überarbeitet. Die Probleme im
Zusammenhang mit dem autom. Einrücken und Zeilen ohne Umbruchstellen
sollten damit behoben sein.
172 Beim Öffnen eines neuen Textes wurde u. U. nicht korrekt erkannt,
ob die Datei schon geladen war.
173 Die Routine für die Blockselektion durch Aufziehen hatte immer
noch Zeichenfehler beim wortweisen Selektieren.
174 Beim zeilenweisen Selektieren bleibt jetzt die Startzeile immer
selektiert.
175 Es wird jetzt korrekt erkannt, ob ein Mausklick in den bestehenden
Block erfolgte, um das Drag&Drop anzubieten.
*** Änderungen bis 5.5.1996
176 Beim Highlighting wurde die Cursorpositionen beim Einfügen der
Steuerzeichen nicht immer korrekt nachgeführt. Das war wohl die
Ursache für Wilfrieds Fehler 42 bis 44.
177 Das Handling der Keywordliste im Dialog 'Hervorhebungen' wurde
überarbeitet. Damit sollten die Abstürze beim Löschen von Keywords
erledigt sein. Zudem ist es nicht mehr möglich, Keywords doppelt
einzugeben; und es ist ein Autolocator dazugekommen.
*** Änderungen bis 12.5.1996
178 Beim automatischen Zeilenumbruch werden Zeilen, die nur aus Spaces
und Tabs bestehen, nicht mehr verändert.
179 Der Bildschirmaufbau beim automatischen Umbruch wurde überarbeitet
und sollte etwas flotter geworden sein. 180 Der Startupcode erkennt
jetzt beim Parsen der Kommandozeile einfache und doppelte
Anführungszeichen. Das ARGV-Verfahren geht jetzt auch wieder.
181 Unter case-sensitiven Dateisystemen werden jetzt die Resource-
und Message-Datei als 'jane.rsc' und 'jane.msg' (also in
Kleinbuchstaben) gesucht. Für TEE gilt dasselbe.
182 Der SIGTERM-Handler setzt jetzt nur eine globale Variable, die
in der Hauptschleife regelmäßig abgefragt wird. Damit ist beim
Beenden die Anzeige von Fehlermeldungen über GEM-Aufrufe möglich.
183 TEE läßt jetzt im Dialog für die Profildateien Kleinbuchstaben zu.
184 Werden im aktuellen Textprofil die Attribute abgeschaltet, so
werden jetzt auch in allen betroffenen Texten die Steuerzeichen
entfernt.
185 Bei "Speichern unter..." erhält der Text nun automagisch das
zum neuen Namen passende Textprofil.
186 Blöcke aus Texten mit Syntax-Highlighting werden grundsätzlich
ohne Attribute ausgeschnitten oder kopiert. Ich weiß zwar noch nicht,
ob das der Weisheit letzter Schluß ist, es ist aber ein stabilerer
Stand als vorher.
187 Zu Texten mit Syntax-Highlighting werden jetzt die Blockgrenzen
korrekt in die INF-Datei geschrieben.
*** Änderungen bis 12.5.1996
188 Ein übler Fehler beseitigt, der dazu führte, daß die Informationen
über geladene SCC-Files nicht korrekt in die INF-Datei geschrieben
wurden. Das Resultat waren zerstörte INF-Dateien.
189 An TEE kann jetzt auch eine Datei per Kommandozeile übergeben
werden.
*** Änderungen bis 25.5.1996
190 Der Dialog "Suchen & Ersetzen" wurde optisch überarbeitet.
191 SCEleton merkt sich jetzt die von Fcreate() und Fopen() geöffneten
Handles und schließt sie bei einem Abbruch der Makrosequenz automatisch.
192 Ein neues SCEleton-Statement:
rv = Fexist(dateiname);
Wenn die Datei existiert, wird in 'rv' der Wert 1 zurückgegeben,
ansonsten der Wert 0.
193 Die SCEleton-Befehle 'findreplace()' und 'xfindreplace()'
funktionieren jetzt etwas anders. Bisher wurde eine reine
Suchoperation daran erkannt, daß der Ersatztext leer war. Dadurch war
es nicht möglich, die Fundstellen durch 'nichts' zu ersetzen, d. h.
zu löschen. Daher wird eine reine Suchoperation nunmehr dadurch
festgelegt, daß der Schlüsselwortparameter 'replace' fehlt oder als
'replace=no' angegeben ist.
ACHTUNG: Zur Sicherheit sollten Makropakete, die diesen Befehl
verwenden, neu übersetzt werden!!!!!
194 TEE sucht jetzt auch die Resource von JAnE (wird zum Festlegen der
Tastaturbelegung gebraucht) als 'jane.rsc'.
*** Änderungen bis 14.7.1996
195 Die Bedienung des Funktionsbereiches Suchern und Ersetzen" wurde
ein wenig verändert (in Mac-Richtung ;-). Der Menüpunkt "Weiter ersetzen"
ist entfallen und wurde durch 3 neue Punkte ersetzt:
"Ersetzen": Ersetzt die aktuelle Selektion durch den Ersetztext.
Wird er direkt nach einem Suchbefehl aufgerufen, so entspricht
das Resultat genau den Erwartungen ;-) Es ist aber eine optische
Prüfung des Suchergebnisses vor dem Ersetzen möglich.
"Ersetzen und weitersuchen": Wie oben, nur daß anschließend in der
voreingestellten Richtung weitergesucht wird. Dadurch wird ein
"wahlweises Ersetzen" möglich, ohne daß das Programm in den
Abfrageboxen hängt. Das alte wahlweise Ersetzen kann aber nach
wie vor im Suchdialog angefordert werden.
"Alles ersetzen": Es wird ab der aktuellen Cursorposition bzw. der
aktuellen Selektion in der vorgewählten Richtung bis zum Textende
alles ersetzt.
Der SCEleton-Befehl 'replacenext()' existiert nach wie vor.
196 Die Information über das Dateiformat (ASCII-Text, Zeilenende oder
feste Länge) ist jetzt Teil des Textprofils. Damit kann ein einmal
binär geladener text nach Abspeichern des Profils automatisch immer
wieder mit denselben Einstellungen geöffnet werden.
197 Ein Fehler beseitigt, der zu defekten INF-Dateien führte, falls
Makropakete geladen waren.
198 Ein übler Fehler beseitigt, der zu Abstürzen führen konnte, wenn
im Textprofil nur eine der beiden Kommentarvarianten tatsächlich
definiert war.
199 Beim Einrücken nach links wurden Hervorhebungssteuerzeichen falsch
behandelt.
*** Änderungen bis 8.8.96
200 Die Anzahl der Menüpunkte, die das Textprofil betreffen, ist so
groß geworden, daß der ganze Komplex in ein eigenes Menü gewandert ist.
Im einzelnen ist folgendes dazugekommen bzw. geändert:
201 Die drei möglichen Infozeilen können auch 'gestapelt', d. h.
übereinander angezeigt werden. Daher sind aus den Radiobuttons im
Dialog "Textprofil/Allgemeines" Checkboxen geworden. Aus optischen
Gründen ist der Cyclebutton in der Infozeile entfallen. Das
Weiterschalten mit "Shift-Escape" funktioniert aber noch.
202 Die Elemente, die sich mit der Pflege der freien Tabulatoren
befassen, sind aus dem Dialog "Textprofil/Allgemeines" in einen
eigenen Dialog gewandert. Dieser läßt sich nur dann aufrufen, wenn
die freien Tabulatoren aktiv sind und das Textlineal in der Infozeile
angezeigt wird. Er kann über den Menüpunkt "Tabulatoren" oder über
einen Doppelklick auf das Textlineal erreicht werden. Die
Linealanzeige im Dialog ist entfallen; dafür wirken die Änderungen
sofort auf die Linealanzeige in der Infozeile des dahinterliegenden
Fensters.
203 Es gibt jetzt auch einen Menüpunkt zum Ändern des Dateiformats
im Textprofil mit folgenden Möglichkeiten:
Die Übergeordneten Radiobuttons schalten zwischen ASCII- und
Binärmodus um. Im ASCII-Modus kann zwischen TOS-, UNIX- und
Mac-Zeilentrennern gewählt werden. Zusätzlich läßt sich das Speichern
als Fließtext auch hier einschalten. Im Binärmodus kann der
verwendete Zeilentrenner direkt angegeben werden; oder es wird das
Speichern ganz ohne Zeilentrenner gewählt.
Ein paar Bemerkungen zum Laden: Ein ASCII-Text wird beim Laden
automatisch daraufhin untersucht, ob TOS-, UNIX- oder
Mac-Zeilentrenner verwendet werden. Diese werden dann auch bei
Speichern wieder verwendet. Dies kann nur für den einzelnen Text im
Dateiformatdialog übersteuert werden. Für Binärdateien kann nur ein
Zeilentrenner im Textprofil hinterlegt angegeben werden. Der
alternative Zeilentrenner, der beim "Binären Laden" angegeben werden
kann, ist nur als Hilfe beim Import gedacht. (Hmm - gibt es eigentlich
Situationen, in denen das sinnvoll ist?)
204 Ein Fehler repariert, der beim Kopieren von Absätzen mit
Hervorhebungen 'interne Parameterfehler' auslöste.
205 Der Befehl 'unsetenv' erzeugt keine falschen Fehlermeldungen
mehr.
*** Änderungen bis 31.08.96
206 Ein Fehler bei der Einfärbung von mehrzeiligen Kommentaren
korrigiert, der dazu führen konnte, daß Text vor dem Kommentarbeginn
mit gefärbt wurde.
207 Im Hexeditor werden keine störenden Zeichen mehr eingeblendet.
208 Beim Laden von ASCII-Texten sollten keine überflüssigen
Leerzeilen mehr angehängt werden.
209 Fehler bei Einfärbung von mehrzeiligen Kommentaren korrigiert,
der dazu führte, daß u. U. bis weit über das Kommentarende hinaus
gefärbt wurde.
*** Änderungen bis 10.10.96
210 Die Verwaltung der Textprofile wurde wieder einfacher gemacht.
Sie unterscheidet jetzt die folgenden Fälle, die in der Infozeile
ausgewiesen werden
a) Kein Profil zugeordnet. In diesem Falle werden die
Einstellungen des Textprofilmenüs aus dem beim Öffnen oder
Neuanlegen aus dem Defaultprofil gesetzt und in der INF-Datei
gespeichert, falls die komplette Arbeitsumgebung gesichert
werden muß. Anzeige in der Infozeile: '[Intern]'.
b) Ein Privatprofil. Dies ist der Fall, wenn dem Text ein
Profil über den Namen zugeordnet wurde, also z. B. das Profil
'TEST.JTP' zur Datei 'TEST.DOC'. Dieses Profil wird bei
Änderungen automatisch gesichert. Anzeige in der Infozeile:
'[Privat]'
c) Ein Typprofil. Dies ist der Fall, wenn dem Text ein Profil
über den Dateityp zugeordnet wurde, also z. B. das Profil
'C.JTP' zur Datei 'TEST.C'. Dieses Profil wird bei Änderungen
ebenfalls automatisch gesichert. Weiterhin werden Änderungen
auf alle Texte übertragen, die dasselbe Profiil besitzen.
Anzeige in der Infozeile: Der entsprechende Dateityp.
Darüber hinaus wird beim Speichern eines Profils geprüft, ob es einem
geladenen Text als Typ- oder Privatprofil zugeordnet werden muß, und
der entsprechende Text wird demgemäß aktualisiert.
211 Die Zuordnungen für Typprofile können jetzt auch in JAnE selbst
eingestellt werden.
*** Änderungen bis 22.12.96
212 Der Code zum Laden einer Fließtextdatei wurde völlig neu
geschrieben. Er sollte sich jetzt nicht mehr mit den Spalten
verzählen.
213 Neben Funktionstasten können jetzt auch AES-Messages mit Makros
belegt werden. Dazu dient der neue Menüpunkt "AES-Nachrichten" unter
"Makros". Der danach erscheinende Dialog funktioniert genauso wie der
Dialog zur Funktionstastenbelegung, nur daß anstelle des Tastencodes
die Nachrichtennummer eingegeben werden muß. Diese Nummer kann sowohl
dezimal als auch hexadezimal eingegeben werden; dazu dienen die
beiden Editfelder oben in der Box.
Die in JAnE "hart verdrahteten" Messagebehandlungen (so z. B. die
Standardmessages für Fenster- und Menühandling, Drag & Drop,
VA-Protokoll) können allerdings dadurch nicht ausgehebelt werden. Zur
Zeit erfolgt aber auch keine Warnung. Solche Message-Handler werden
zwar eingestellt, aber nie aufgerufen, da die interne Behandlung
Vorrang hat.
Wie muß nun ein solcher Message-Handler in SCEleton kodiert sein?
Eigentlich ganz einfach: Er muß - genau wie ein Tastenhandler - ein
parameterloser Makro sein. Um nun an die Parameter aus dem
AES-Messagebuffer zu kommen, dient die Laufzeitfunktion 'applparms()'.
Sie wird folgendermaßen aufgerufen:
liste = applparms(format);
Dabei ist 'format' eine Zeichenkette, die das Layout des
Messagepuffers beschreibt (genau wie bei 'applsend()' und
'applreceive()'). Je ein Buchstabe steht für den Typ eines
Datenelementes:
'w' = word
'l' = longword
's' = string (Adresse einer nullterminierten Zeichenkette)
Der Messagepuffer wird in die entsprechenden Elemente zerlegt, die
in 'liste' zurückgegeben werden.
214 Analog zu 'setfkey()' und 'killfkey()' für Funktionstasten gibt es
jetzt auch die SCEleton-Calls 'setmessage()' und 'killmessage()' zum
Belegen von AES-Nachrichten. Die Syntax deckt sich mit 'setfkey()'
und 'killfkey()', nur daß als erster (bzw. einziger) Parameter
anstelle des Tastennamens die Message-Nummer als Zahl übergeben wird.
Beispiele:
setmessage(4711, makro, paket);
killmessage(4711);
*** Änderungen bis 26.12.96
215 Beim komplexen Ersetzen werden im Ersatztext eingebettete Hexcodes
jetzt korrekt umgesetzt.
216 Enthält ein Makropaket einen Makro namens 'autoexec', so wird
dieser schon beim Laden ausgeführt. Der Sinn der Sache besteht darin,
etwaige Initialisierungen schon beim Laden automatisch durchführen zu
können. Auf diese Art kann ein Paket z. B. benötigte Tasten- oder
Nachrichtenbelegungen selbständig installieren.
217 Mit der Funktion 'myself()' kann ein Makropaket seinen eigenen
Dateinamen erfragen. Beispiel:
name = myself();
218 Mit den Funktionen 'getfkey()' und 'getmessage()' kann ein
Makropaket prüfen, ob eine Taste bzw. Message schon belegt sind, und
wenn ja, womit. Der Rückgabewert ist in beiden Fällen eine
Zeichenkette, die den Makronamen UND den Paketnamen enthält, getrennt
durch einen Semikolon. Beispiel:
name = getmessage(4711);
name = getfkey("F1");
Bei unbelegten Einträgen ist der Rückgabestring logischerweise leer.
219 Bei Makros, die über "Makros/Ausführen" gestartet wurden, klappt
die Dialog im SCEleton-Fenster jetzt wieder.
220 Der SCEleton-Interpreter baut jetzt bei jedem Start einer
Makrosequenz einen neuen Maschinenkontext auf, ohne einen eventuell
vorhandenen Kontext zu überschreiben. Damit sollte sie besser mit der
Situation umgehen können, daß ein Makro eine JAnE-Funktion aufruft,
die ihrerseits wieder einen Makro startet. Diese Situation kann jetzt
häufiger auftreten als in älteren Versionen, da z. B. schon das
Öffnen eines Makropaketes zur Ausführung eines "autoexec"-Makros
führen kann.
221 JAnE beherrscht nunmehr auch eine Kürzelexpansion, die genau wie
der Makrorecorder auf SCEleton aufbaut. Jedem Text kann über das
Textprofil ein Makropaket als Kürzelliste zugewiesen werden
(Menüpunkt: "Textprofil/Kürzelmakros"). Als Kürzel fungieren die
Namen der parameterlosen Makros in diesem Paket. Die Expansion
erfolgt mit der Tastenfunktion "Kürzelmakro expandieren", die in der
Defaulteinstellung auf "Escape" liegt. Der Makroname muß dazu als
separates Wort im Text stehen; der Textcursor muß dazu auf oder
direkt hinter dem Makronamen stehen. Alternativ kann der Makroname
als Block selektiert sein. Bei der Expansion wird dann der Makroname
aus dem laufenden Text gelöscht und anschließend der zugehörige Makro
gestartet. Die Cursorposition befindet sich dann am ehemaligen
Wortanfang bzw. Blockanfang, so daß die Eingaben, die der Makro
macht, den Makronamen ersetzen.
222 Die Namen der aktuell geladenen Texte und Makropakete werden
numnmehr direkt in die Menüs "Makros" und "Texte" eingesetzt, so daß
der Aufruf des nachgelagerten Popups entfällt. Ersparnis: 1 Mausklick
;-) Die Popups sind aber nach wie vor vorhanden und können über
Tastaturkürzel aufgerufen werden.
223 Auch beim Einfügen eines Tabs wird nun zuvor ein evtl.
selektierter Block gelöscht.
224 Bei automatischem Umbruch werden nunmehr die Absatzenden in der
Textanzeige markiert.
*** Änderungen bis 10.1.97
225 Da zu einem Fließtext eine Umbruchspalte angegeben werden muß,
wurde ein entsprechendes Eingabefeld in den Dateiformatdialog
aufgenommen.
226 Die Fließtexteinstellung beim Laden und Speichern sollte jetzt
auch unabhängig vom Schalter für automatischen Umbruch funktionieren.
Bei abgeschaltetem Umbruch werden Absätze aber nur durch Leerzeilen
markiert.
227 Im Suchdialog wird der Schalter 'Suchbereich = Block' gesperrt,
wenn kein Block selektiert ist.
228 Im Dialog "Textprofil/Allgemeines" wird "Fließtext" jetzt
gesperrt, wenn das Dateiformat auf "Binär" steht.
229 Wenn der automatische Umbruch abgeschaltet ist, d.h. Absatzenden
durch Leerzeilen markiert sind, werden jetzt auch beim nachträglichen
Formatieren die entsprechenden Leerzeilen wieder eingefügt.
230 Bug repariert, der dazu führte, daß die Undo-Funktion sich bei
eingeschalteten Textattributen noch gelegentlich mit den Spalten
verzählte.
231 Das Markieren von Klammerblöcken bei eingeschalteten
Textattributen funktionierte nicht richtig, wenn im Klammerwort
Attributzeichen standen.
232 Bug beim Zusammenfügen von Makropaketen beseitigt, der dazu
führte, daß SCEleton bei Verweisen auf globale Variable und
Unterfunktionen durcheinander kam.
233 JAnE sucht jetzt schon beim Start ein Makropaket namens JANE.SCC
im Default-Verzeichnis (also dort, wo auch die Resource steht) und
lädt es, falls es existiert. Dieses Paket kann eine Grundausstattung
an Makros enthalten. Außerdem bekommt es eine spezielle Bedeutung im
Zusammenhang mit dem Makrorecorder (s. u.).
234 Der Makrorecorder wurde überarbeitet: Man kann jetzt schon beim
Anlegen eines Makros festlegen, was später damit passieren soll. Es
gibt folgende Varianten:
- Inhalt von 'recorder' anzeigen: Das ist das bisherige Verhalten,
außer daß der Compile-Dialog nicht mehr automatisch kommt.
- Makro in das Standardpaket aufnehmen: Der Makro wird an JANE.SCC
(s. o.) angehängt.
- Makro in die aktuelle Kürzelliste aufnehmen: Dito, nur für die
Kürzeldatei des Textprofils. Demgemäß ist dieser Punkt nicht
wählbar, wenn das Textprofil keine Kürzelliste enthält.
In den beiden letzten Fällen kann man auch schon sofort festlegen,
welche Funktionstaste später belegt werden soll.
*** Änderungen bis 22.1.97
235 Schlüsselregistrierung eingebaut. Die Registrierdaten werden in
einem Unterdialog des Info-Dialoges eingegeben. Die
Shareware-Einschränkungen bestehen darin, daß nur 3 Texte und 3
Makropakete gleichzeitig geöffnet werden können. Außerdem erscheint
beim Programmende und beim Sichern von Files eine aufmunternde
Meldung.
236 Die Kommandos 'Undo' und 'Zurücksetzen' funktionieren jetzt auch
für Makropakete: Beide Kommandos laden die letzte Version des Paketes
von der Platte zurück.
237 Der Druckerdialog zeigt jetzt für GDOS-Treiber die Klartextnamen
anstelle der Dateinamen an.
238 JAnE fungiert jetzt auch als OLGA-Server.
239 Es besteht die Möglichkeit, die Liste der Schlüsselworte für die
Hervorhebungen aus einem Text zu übernehmen, Dabei wird jeweils das
erste Wort jeder Zeile übernommen.
240 Die Makrofenster haben einen neuen Button bekommen: "Löschen".
Damit kann der gerade selektierte Makro gezielt aus dem Paket
gelöscht werden. Diese wird allerdings dann gesperrt, wenn der Makro
von anderen Makros aufgerufen wird. Dann wäre ein Löschen auch
tödlich.
Diese Funktion ist dafür gedacht, ein Paket zu pflegen, das über den
Makrorecorder zusammengestellt wurde, ohne daß der Quelltext manuell
bearbeitet wurde. In solchen Paketen sind einzelnen Makros i. d. R.
unabhängig voneinander, so daß das Löschen immer möglich ist.
241 Fehler behoben, der dazu führte, daß in den Textprofilen u. U.
defekte Informationen über Kürzellisten abgespeichert wurden.
*** Änderungen bis 22.3.97
242 Der Befehl 'mypath' funktioniert jetzt auch in Makros, die
über die Kommandozeile mit '-x' gestartet werden.
243 Makropakete, die beim Übersetzen automatisch gesichert werden,
werden nicht mehr als geändert markiert.
244 Wenn in der aktuellen Konfiguration "Arbeitsumgebung sichern"
eingeschaltet ist, wird jetzt auch beim Neulesen einer .INF-Datei
(auch per Makro) erstmal der aktuelle Stand gesichert.
245 Zudem werden jetzt beim Neulesen einer.INF-Datei die im Speicher
stehenden Makropakete gelöscht. Falls die Aktion von einem Makro aus
angestoßen wurde, wird das gerade laufende Paket natürlich von der
Bereinigung ausgenommen.
246 Die Warnung beim Überschreiben von Makropaketen sollte jetzt nur
noch bei "Speichern als..." erfolgen.
*** Änderungen bis 15.3.97
247 Das Aussehen der 3D-Oberfläche wurde etwas modifiziert. Ich hoffe,
es gefällt ;-)
248 Fehler beim formatierten Ersetzen mit Registern beseitigt: Wenn
die Fundstelle mit '^' begann, verzählte sich die Erstzroutine beim
"Ausschneiden" der Registerinhalte aus dem Ursprungstext um ein
Zeichen.
249 Die Routine für den automatischen Zeilenumbruch wurde komplett
überarbeitet und erhält jetzt Einrückungen im Text.
250 JAnE stürzt nicht mehr ab, wenn der OLGA-Manager nachgestartet
wird.
251 Die Einschränkung, daß hervorzuhebende Schlüsselworte aus dem
Wortzeichensatz stammen müssen, wurde aufgehoben.
*** Änderungen bis 19.3.97
252 Fehler behoben, der zu Abstürzen führte, wenn die Hervorhebungen
eingeschaltet wurden, ohne daß Schlüsselworte definiert waren.
253 Eine kleine grafische Unschönheit beim "Starten"-Button der
Makrofenster bereinigt.
*** Änderungen bis 26.3.97
254 Der Aufbau der Undo-Informationen konnte bei Speichermangel zu
Zeigersalat und damit zu Abstürzen führen. Das sollte jetzt nicht
mehr passieren.
255 Wenn bei "Alles ersetzen" die Undo-Information nicht angelegt
werden kann, erscheint jetzt eine Warnung, die die Möglichkeit
offenläßt, trotzdem fortzufahren.
256 "Löschen bis Zeilenanfang" hängt sich nicht mehr auf, wenn die
Zeile mit einem highgelighteten Schlüsselwort anfängt.
257 Fehler beim automatischen Umbruch eingerückter Zeilen behoben.
*** Änderungen bis 30.3.97
258 Das Ersetzen von mehrzeiligen Fundstellen durch 'nichts' sollte
jetzt korrekt durch Löschen der Fundstelle (anstatt nur Leeren der
Zeilen) quittiert werden. Außerdem sollte es jetzt nicht mehr
passieren, daß in diesem Fall nach dem Abschluß von "Alles ersetzen"
ein willkürlicher Block markiert ist.
259 Fehler beseitigt, der dazu führte, daß beim automatischen Umbruch
gelegentlich das erste Zeichen eines Wortes verloren ging.
260 Beim Selektieren von Klammern werden jetzt Klammerausdrücke als
Wortbestandteile ignoriert.
261 Ein gesperrter Text kann jetzt geschlossen werden. Es erscheint
nur eine zusätzliche Warnung.
262 Die Routine zum Schließen aller offenen Dateien aktualisiert jetzt
auch das Textmenü.
263 Die Klammerdefinitionen im Textprofil ziehen jetzt auch sofort
nach dem Neuladen eines Profils.
264 Wird beim Start ein Makro mit '-x' ausgeführt, der eine neue
INF-Datei lädt, so sollte die Verkettung der Makropakete jetzt nicht
mehr in Unordnung geraten.
265 Überschrift des Fileselectors bei der Auswahl eines Typprofils
korrigiert. Gleichzeitig einen Vertipper in der Routine für die
Zuordnungen beseitigt, der zu Zeigersalat führen könnte.
266 Beim Vorwärts-Markieren per Tastatur mit Control-I wird jetzt das
Cursorzeichen nicht mehr mitselektiert.
267 Es gibt eine neue Option im Dialog für die Hervorhebungen:
"GROSS=klein". Ist dieser Punkt selektiert, so werden die
Schlüsselworte unabhängig von Groß- und Kleinschreibung erkannt. Das
ist für Programmiersprachen gedacht, die diese Unterscheidung auch
nicht machen.
268 Wenn die Kommentardefinitionen geändert werden und die
Hervorhebungen aktiv sind, wird der Text jetzt sofort neugezeichnet.
269 Es gibt zwei neue SCEleton-Befehle, die in erster Linie dazu
dienen, Makropakete, die einen größeren Text über die
Pufferfunktionen zeilenweise bearbeiten, griffiger zu machen. Bisher
war es so, daß Aufrufe wie 'bufputline' zu einem sofortigen
Neuzeichnen des Textes führten, was einiges an Zeit verschlang. Das
läßt sich nun optional unterdrücken:
bufautodraw(flag);
Dieser Befehl setzt ein internes Flag, das das automatische
Neuzeichnen aus- oder einschaltet.
flag = 0: Ausschalten
flag = 1: Einschalten
flag = -1: Nur den aktuellen Wert abfragen
Beim Start einer Makrosequenz ist das Neuzeichnen immer eingeschaltet.
bufredraw(handle);
Dieser Befehl zeichnet das Fenster des Puffers mit Handle 'handle'
neu, sofern es offen ist.
270 Wenn ein Auschnitt aus einem Text ohne Effekte ins GEM-Clipboard
befödert wird, wird jetzt auch die Datei SCRAP.JTX gelöscht.
271 Fehler behoben, der dazu führte, daß u. U. auch in die SCRAP.TXT
Effektinformationen geschrieben wurden.
272 Fehler behoben, der dazu führte, daß Textprofile auch dann schon
zugeordnet wurden, wenn die tatsächliche Dateierweiterung ein Präfix
des eingestellten Dateityps war.
Harald